package com.brillilab.domain.po.experiments;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 实验基础信息
 * </p>
 *
 * @author WuMenghao
 * @since 2019-09-05
 */
@TableName("experiment")
@Data
public class Experiment implements Serializable {

	private static final long serialVersionUID = 1L;

	@TableId(value = "id", type = IdType.AUTO)
	private Long id;
	/**
	 * 实验室ID
	 */
	@TableField("lab_id")
	private Long labId;
	/**
	 * 课题id
	 */
	@TableField("topic_id")
	private Long topicId;
	/**
	 * 研究内容id
	 */
	@TableField("topic_direction_id")
	private Long topicDirectionId;
	/**
	 * 实验流id
	 */
	@TableField("topic_target_id")
	private Long topicTargetId;
	/**
	 * 实验目标id
	 */
	@TableField("topic_experiment_id")
	private Long topicExperimentId;
	/**
	 * 序号
	 */
	private String serial;
	/**
	 * 执行人（labMemberId）
	 */
	@TableField("executor_id")
	private Long executorId;
	/**
	 * 是否是检测实验：0-否，1-是
	 */
	@TableField("is_check")
	private Integer isCheck;
	/**
	 * 状态：0-未开始，1进行中、2已结束
	 */
	private Integer state;
	/**
	 * 实验名称
	 */
	private String name;
	/**
	 * 一级方法类型ID
	 */
	@TableField("first_type_id")
	private Long firstTypeId;
	/**
	 * 方法类型ID
	 */
	@TableField("method_type_id")
	private Long methodTypeId;
	/**
	 * 方法ID
	 */
	@TableField("method_id")
	private Long methodId;
	/**
	 * 实验描述
	 */
	private String description;
	/**
	 * 实验开始时间
	 */
	@TableField("start_time")
	private Date startTime;
	/**
	 * 实验结束时间
	 */
	@TableField("end_time")
	private Date endTime;
	/**
	 * 是否符合实验预期：0不符合、1符合
	 */
	@TableField("is_expect")
	private Integer isExpect;
	/**
	 * 是否发表级结果：0否、1是
	 */
	@TableField("is_publish")
	private Integer isPublish;
	/**
	 * 是否新方法:0否、1是
	 */
	@TableField("is_new_method")
	private Integer isNewMethod;
	/**
	 * 是否导入方法内容:0否、1是
	 */
	@TableField("is_import")
	private Integer isImport;
	@TableField("is_delete")
	private Integer isDelete;
	@TableField("create_time")
	private Date createTime;
	@TableField("update_time")
	private Date updateTime;

	/**
	 * 是否添加分组：0否，1是，2导师已查看
	 */
	private Integer isAddGroup;

	/**
	 * 是否添加分析后数据：0否，1是，2导师已查看
	 */
	private Integer isAddAnalyze;

	/**
	 * 是否添加trouble：0否，1是，2导师已查看
	 */
	private Integer isAddTrouble;

	/**
	 * 课题主执行人
	 */
	@TableField(exist = false)
	private Long topicExecutorId;
}
